package com.ktgj.train.mapper;

import java.util.List;

import com.ktgj.train.domain.TrainOrderItemCRM;
import com.ktgj.train.domain.TrainOrderitem;
import com.ktgj.train.domain.vo.TrainOrderItemVo;
import com.ktgj.train.domain.TrainOrderitemstatus;
import org.springframework.stereotype.Repository;

/**
 * 子订单Mapper接口
 * 
 * @author ruoyi
 * @date 2021-11-29
 */
@Repository
public interface TrainOrderitemMapper 
{
    /**
     * 查询子订单
     * 
     * @param orderitemid 子订单ID
     * @return 子订单
     */
    public TrainOrderitem selectTrainOrderitemById(Long orderitemid);

    /**
     * 查询子订单
     *
     * @param orderitemnumber 子订单ID
     * @return 子订单
     */
    public TrainOrderitem queryTrainOrderitemById(Long orderitemnumber);

    /**
     * 查询子订单列表
     * 
     * @param trainOrderitem 子订单
     * @return 子订单集合
     */
    public List<TrainOrderitem> selectTrainOrderitemList(TrainOrderitem trainOrderitem);

    /**
     * 新增子订单
     * 
     * @param trainOrderitem 子订单
     * @return 结果
     */
    public int insertTrainOrderitem(TrainOrderitem trainOrderitem);

    /**
     * 修改子订单
     * 
     * @param trainOrderitem 子订单
     * @return 结果
     */
    public int updateTrainOrderitem(TrainOrderitem trainOrderitem);

    public int updateTrainOrderitems(TrainOrderitem trainOrderitem);

    /**
     * 修改子订单（占座回调——身份证号、关联主键编号）
     *
     * @param trainOrderitem 子订单
     * @return 结果
     */
    public int updateByIDNumber(TrainOrderitem trainOrderitem);

    /**
     * 修改子订单（确认出票回调——关联主键编号）
     *
     * @param trainOrderitem 子订单
     * @return 结果
     */
    public int updateByOrderId(TrainOrderitem trainOrderitem);

    /**
     * 删除子订单
     * 
     * @param orderitemid 子订单ID
     * @return 结果
     */
    public int deleteTrainOrderitemById(Long orderitemid);

    /**
     * 批量删除子订单
     * 
     * @param orderitemids 需要删除的数据ID
     * @return 结果
     */
    public int deleteTrainOrderitemByIds(Long[] orderitemids);

    int updateByTrainOrderItem(Long orderId);

    /**
     * 根据订单id查询乘客信息
     * */
    public List<TrainOrderitem> selectTrainOrderitemByOrderId(Long orderid);

    public List<TrainOrderitem> queryTrainOrderItem(Long orderItemID);

    public List<TrainOrderitem> selectNumber(String orderPartnerNumber);

    public TrainOrderitem queryOrderitemid(String ticketnumber);

    public List<TrainOrderItemCRM> trainOrderItem(Long orderId);
}
